/*
 * moto.h
 *
 *  Created on: Dec 6, 2023
 *      Author: 80424
 */

#ifndef MOTO_MOTO_H_
#define MOTO_MOTO_H_
#include "main.h"
#include "tim.h"
#include "foc.h"
#define MOTO_TIM htim2
#define Numbe_Electrodes (7)	//电机极数
#define Encode_Accuracy (4096)	//编码器的分辨率 as5600是12位精度
#define Sector_Width (Encode_Accuracy/Numbe_Electrodes) //每个扇区的宽度
typedef struct{
	uint16_t A;
	uint16_t B;
	uint16_t C;
}MOTO_POW_StructDef;

extern MOTO_POW_StructDef MOTO_UV;
void Moto_Strat(TIM_HandleTypeDef * htim);
void Moto_Set_PWM(TIM_HandleTypeDef * htim,MOTO_POW_StructDef *UV);
void Moto_Value_Conversion(MOTO_POW_StructDef *UV,ExtY * rtY);


#define Moto_EN 	HAL_GPIO_WritePin(MOTO_EN_GPIO_Port, MOTO_EN_Pin, GPIO_PIN_SET)
#define Moto_DIS 	HAL_GPIO_WritePin(MOTO_EN_GPIO_Port, MOTO_EN_Pin, GPIO_PIN_RESET)
#endif /* MOTO_MOTO_H_ */
